home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 6
/
FM Towns Free Software Collection 6.iso
/
ms_dos
/
check
/
check101
/
check.lib
< prev
next >
Wrap
Text File
|
1993-07-08
|
7KB
|
239 lines
procedure Puts( s:string );
var regist:registers;
param:array[1..256] of integer;
i:byte;
begin
s:=s+'$';
for i:=1 to length( s ) do
begin
MemW[Seg( param ):Ofs( param )+i-1]:=integer(s[i]);
end;
regist.ah:=$09;
regist.ds:=Seg( param );
regist.dx:=Ofs( param );
Intr( $21, regist );
end;
{==背景色を変えるルーチン==ここは既に完成==}
{made 92.3.29}
{黒=0;青=1;緑=2;水色=3;赤=4;紫=5;黄色=6;白=7;}
procedure backcolor(iro:byte);
begin
case iro of
0 :puts(#27+'[40m');
1 :puts(#27+'[44m');
2 :puts(#27+'[42m');
3 :puts(#27+'[46m');
4 :puts(#27+'[41m');
5 :puts(#27+'[45m');
6 :puts(#27+'[43m');
7 :puts(#27+'[47m');
end;
end;
{======文章を空白処理するためのルーチン==ここは既に完成============}
{made 92.3.30}
procedure kuhakusyori(var RK:string);
var
dammy:string;
begin
Repeat {RKの左側が一文字空白であるか調べその空白を削除する}
If Pos(' ',RK)=1 then delete(RK,1,1);
until Pos(' ',RK) <> 1;
Repeat {RKの右側が一文字空白であるか調べその空白を削除する}
Dammy:=copy(RK,length(RK),1);
If Dammy=' ' then delete(RK,length(RK),1);
until Dammy <> ' ';
Repeat
Dammy:=copy(RK,length(RK),1);
If ((Dammy='.') or (Dammy='?') or (Dammy='!') or (Dammy=':'))
then insert(' ',RK,length(RK));
until not ((Dammy='.') AND (Dammy='?') and (Dammy='!') and (Dammy=':'));
end;
{======辞書は何を使うかを設定するためのルーチン===ここは既に完成============}
{made 92.3.29}
procedure config(var jisyo1,jisyo2,jisyo3:string);
var
data:string[255];
config_file:text;
begin
assign(config_file,'CHECK.cfg');
reset(config_file);
while not Eof(config_file) do
begin
readln(config_file,data);
if copy(data,1,pos('=',data)-1)='JIsyo1'
then jisyo1:=copy(data,pos('=',data)+1,length(data));
if copy(data,1,pos('=',data)-1)='JIsyo2'
then jisyo2:=copy(data,pos('=',data)+1,length(data));
if copy(data,1,pos('=',data)-1)='JIsyo3'
then jisyo3:=copy(data,pos('=',data)+1,length(data));
end;
close(config_file);
end;
{=========タイトル表示ルーチン===ここは既に完成==========================}
{made 92.3.29}
procedure Title; {コピーライト表示}
begin
clrscr;
TextColor(Shiro);
Write(' ---- For All FM-Series');
Writeln(' 英文翻訳支援プログラムシリーズ ----');
Write(' --- ');
TextColor(mizuiro);
Write('CHECK.EXE Ver.1.01α');
TextColor(Shiro);
Writeln(' ---');
WriteLn(' Programed by H.Nakayasu (c) 1992');
TextColor(Shiro);
end;
{==メモリーが充分かどうかをチェックするルーチン==ここは既に完成==}
{made 92.3.29}
{$f+}
function HeapFunc(Size: word): integer;
{$f-}
begin
Writeln(^G+'メモリーが足りません');
HeapFunc := 1;
end; { HeapErrorFunc }
{====ファイルより文章を切り出すためのルーチン==ここは既に完成================}
{made 92.3.29}
{文章の右側が . ? ! : 改行 になるまで調べて一文としてファイルから切り取る}
procedure CutSTRINGfromDocument(var Document_file:text; var STringLine:string);
var
ch:char;
begin
stringline:='';
repeat
read(Document_file,ch);
stringline:=stringline+ch;
until ((ch='.') or (ch='?') or (ch='!') or
(ch=':') or (ch=CrChar));
Repeat {stringlineの左側が一文字空白であるか調べその空白を削除する}
If Pos(' ',stringline)=1 then delete(stringline,1,1);
until Pos(' ',stringline) <> 1;
end;
{======文章より単語を1つ切り出すためのルーチン==ここは既に完成============}
{made 92.3.30}
procedure CutLeftWORDfromSTRINGline(var STringLin,word:string);
var
ch:string[1];
begin
Repeat {STringLineの左側が一文字空白であるか調べその空白を削除する}
If Pos(' ',STringLin)=1 then delete(STringLin,1,1);
until Pos(' ',STringLin) <> 1;
word:='';
repeat
ch:=copy(stringlin,1,1);
delete(stringlin,1,1);
word:=word+ch;
until ((ch=' '){ and (ch=CrChar)});
Repeat {STringLineの左側が一文字空白であるか調べその空白を削除する}
If Pos(' ',STringLin)=1 then delete(STringLin,1,1);
until Pos(' ',STringLin) <> 1;
If Pos(' ',word)=1 then delete(word,1,1);
end;
{===ここはファイルをオープンするためのルーチン==既に完成=================}
{made 92.3.30}
procedure OpenFile(var filename:string; var textfile:text; var flag:integer);
begin
{ if Pos('.',FileName) = 0 then FileName := FileName+'.txt';}
Assign(TextFile,FileName);
{$i-} Reset(TextFile); {$i+}
if IOResult <> 0 then
begin
textcolor(aka);
Writeln(^G,'ファイルが存在しません');
textcolor(shiro);
if IOResult <> 0 then flag:=1;
end
else flag:=0;{if}
end; { OpenFile }
{===指定した辞書の中から単語を検索するためのルーチン==既に完成===========}
{made 92.3.30}
procedure SearchWordfromDIC(var jisyo:string;
var Searchword:string;
var return:string);
var
dicFile: text;
Line: string;
begin
assign(dicFile,jisyo);
reset(dicFile);
repeat
Readln(dicFile, Line);
kuhakusyori(line);
if Searchword=line then return:=line else return:='';
until (eof(dicfile) or (Searchword=line));
close(dicfile);
end;
{===ファイルに新しくデータを追加するためのルーチン====既に完成===========}
{made 92.3.30}
procedure DataPlus2File(var filename:string; var word:string);
var textfile:text;
begin
Assign(TextFile,FileName);
Append(TextFile);
writeln(textfile,word);
flush(textfile);
close(textfile);
end;
{===ファイルの存在を確認するためのルーチン====既に完成===========}
{made 92.3.30}{1:無かったら新規作成 2:無かったら終了 3:あっても新規作成}
procedure CheckFileExist(i:integer; filename:string);
var textfile:text;
begin
Assign(TextFile,FileName);
{$i-} Reset(TextFile); {$i+}
if IOResult <> 0 then
begin
case i of
1:begin
rewrite(TextFile);
textcolor(aka);
Writeln(^G,'ファイルが存在しなかったので新規作成しました');
textcolor(shiro);
flush(textfile);
close(textfile);
end;
2:begin
rewrite(TextFile);
textcolor(aka);
Writeln(^G,'ファイルが存在しません');
textcolor(shiro);
close(textfile);
halt;
end;
end;
end;
if ((IOResult=0) and (i=3)) then
begin
rewrite(TextFile);
textcolor(aka);
writeln(filename,'の中身を空にしました');
textcolor(shiro);
flush(textfile);
close(textfile);
end;
end;
procedure line;
var i:integer;
begin
textcolor(midori);
for i:=1 to 80 do
write('-');
textcolor(shiro);
end;